package com.qfedu.util;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
 * @Author LiHao
 * @Description 文件工具类
 * @Date 13:41 2022/11/26
 * @Param 
 * @return 
 */
public class FileUtil {
    /**
     * 保证长度并重命名 保证唯一性*/
    public static String rename(String name){
        //1.长度
        if(name.length()>50){
            name=name.substring(name.lastIndexOf(name.length()-50));
        }
        //2.重命名 保证唯一性
        return System.currentTimeMillis()+"_"+name;
    }

    /**
     * 一个月一个新文件，超过半年，文件自动删除
     * 日志文件在logs里面*/
    public static File createLog(String path){
        File dir=new File(path);
        if(!dir.exists()){
            dir.mkdirs();
        }
        System.err.println(dir.getAbsolutePath());
        //1.验证当月的日志文件在不在
        //1.获取日期 指定日期的格式化
        Calendar calendar=Calendar.getInstance();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyyMM");
        //2.获取本月的日志文件
        File file=new File(path,sdf.format(calendar.getTime())+".txt");
        //3.验证文件是否存在
        if(!file.exists()){
            //4.不存在 新建文件
            try {
                file.createNewFile();

            } catch (IOException e) {
                e.printStackTrace();
            }
            //5.查看是否有超过半年的日志文件，有就删除
            calendar.add(Calendar.MONTH,-6);
            File file2=new File(path,sdf.format(calendar.getTime())+".txt");
            file2.deleteOnExit();
        }
        return file;
    }
}
